Skip to content

Conversation

@YunchuWang
Copy link
Member

@YunchuWang YunchuWang commented Sep 17, 2025

This pull request introduces support for externalizing large payloads to Azure Blob Storage in Durable Task applications. It adds a new extension package, configuration options, and a sample console app demonstrating the feature. The main changes include new abstractions for payload storage, Azure Blob Storage integration, and updates to the solution and dependencies.

Externalized Payloads Support:

  • Added the IPayloadStore interface in Microsoft.DurableTask.Converters to abstract storing and retrieving large payloads out-of-band.
  • Introduced LargePayloadStorageOptions for configuring payload externalization, including threshold, connection string, container name, and compression.
  • Created the AzureBlobPayloads extension package (AzureBlobPayloads.csproj) to provide Azure Blob Storage-based payload storage, with dependency injection support and gRPC integration. [1] [2]
  • Updated solution and dependency files to include the new extension and required packages (Azure.Storage.Blobs, System.ComponentModel.Annotations). [1] [2] [3] [4] [5]

Sample Application and Documentation:

  • Added LargePayloadConsoleApp sample, including project files, code demonstrating orchestration and entity scenarios with large payloads, and a README for setup and usage. [1] [2] [3] [4]

@YunchuWang YunchuWang requested a review from halspang October 21, 2025 05:54
Copy link
Member

@halspang halspang left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just some minor stuff.

@YunchuWang YunchuWang requested a review from halspang October 22, 2025 17:33
…1 MiB for externalized payloads. Added validation logic to the ExternalizeThresholdBytes property to throw an exception if the value exceeds the limit.
@YunchuWang YunchuWang requested a review from halspang October 22, 2025 18:28
@YunchuWang YunchuWang merged commit ae1433a into main Oct 22, 2025
4 checks passed
@YunchuWang YunchuWang deleted the wangbill/largepayloadv2 branch October 22, 2025 20:10
<ProjectReference Include="..\..\Worker\Core\Worker.csproj" />
<ProjectReference Include="..\..\Client\Grpc\Client.Grpc.csproj" />
<ProjectReference Include="..\..\Worker\Grpc\Worker.Grpc.csproj" />
<ProjectReference Include="..\..\Grpc.AzureManagedBackend\Grpc.AzureManagedBackend.csproj" />
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Where is Grpc.AzureManagedBackend.csproj?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants